package com.example.ad.sdk.domain.view.mvi.viewmodel

import com.example.ad.sdk.domain.view.mvi.intent.IUIEffect
import com.example.ad.sdk.domain.view.mvi.intent.IUiIntent
import com.example.ad.sdk.domain.view.mvi.intent.IUiState


// 定义一个密封类TestSecondIntent，继承自IUiIntent接口，用于表示UI意图
sealed class EmptyIntent: IUiIntent

// 定义一个密封类TestSecondState，继承自IUiState接口，用于表示UI状态
sealed class EmptyState: IUiState

// 定义一个密封类TestSecondEffect，继承自IUIEffect接口，用于表示UI效果
sealed class EmptyEffect: IUIEffect

/**
 * EmptyViewModel 是一个继承自 BaseViewModel 的 ViewModel 类，用于处理 EmptyIntent、EmptyState 和 EmptyEffect。
 * 该类主要用于处理特定的意图（Intent）并根据当前状态（State）进行相应的操作。
 *
 * @param EmptyIntent 表示 ViewModel 处理的意图类型。
 * @param EmptyState 表示 ViewModel 的当前状态类型。
 * @param EmptyEffect 表示 ViewModel 产生的副作用类型。
 */
class EmptyViewModel : BaseMVIViewModel<EmptyIntent, EmptyState, EmptyEffect>() {

    /**
     * 处理传入的意图（Intent）并根据当前状态（State）执行相应的操作。
     *
     * @param action 表示传入的意图（Intent），用于触发 ViewModel 中的特定操作。
     * @param currentState 表示当前的视图状态（State），用于在执行操作时参考。
     */
    override fun onIntentAction(action: EmptyIntent, currentState: EmptyState?) {
        // 该方法为空实现，具体逻辑需要根据业务需求进行实现。
    }
}
